home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 January: Mac OS SDK / Dev.CD Jan 97 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Interfaces / AIncludes / Script.a < prev    next >
Encoding:
Text File  |  1996-01-24  |  38.1 KB  |  1,157 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        Script.a
  3. ;
  4. ;    Contains:    Script Manager interfaces
  5. ;
  6. ;    Version:    Technology:    System 7.5
  7. ;                Package:    Universal Interfaces 2.2 in “MPW” on ETO #20
  8. ;
  9. ;    Copyright:    © 1984-1995 by Apple Computer, Inc.
  10. ;                All rights reserved.
  11. ;
  12. ;    Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13. ;                stack.  Include the file and version information (from above)
  14. ;                in the problem description and send to:
  15. ;                    Internet:    apple.bugs@applelink.apple.com
  16. ;                    AppleLink:    APPLE.BUGS
  17. ;
  18. ;
  19.  
  20.     IF &TYPE('__SCRIPT__') = 'UNDEFINED' THEN
  21. __SCRIPT__ SET 1
  22.  
  23.  
  24.     IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
  25.     include 'Types.a'
  26.     ENDIF
  27. ;        include 'ConditionalMacros.a'                                ;
  28.  
  29.     IF &TYPE('__QUICKDRAW__') = 'UNDEFINED' THEN
  30.     include 'Quickdraw.a'
  31.     ENDIF
  32. ;        include 'MixedMode.a'                                        ;
  33. ;        include 'QuickdrawText.a'                                    ;
  34.  
  35.     IF &TYPE('__INTLRESOURCES__') = 'UNDEFINED' THEN
  36.     include 'IntlResources.a'
  37.     ENDIF
  38.  
  39.     IF &TYPE('__EVENTS__') = 'UNDEFINED' THEN
  40.     include 'Events.a'
  41.     ENDIF
  42. ;        include 'OSUtils.a'                                        ;
  43. ;            include 'Memory.a'                                        ;
  44.  
  45. ; Script System constants 
  46. smSystemScript                    EQU        -1                    ;designates system script.
  47. smCurrentScript                    EQU        -2                    ;designates current font script.
  48. smAllScripts                    EQU        -3                    ;designates any script    
  49. smRoman                            EQU        0                    ;Roman
  50. smJapanese                        EQU        1                    ;Japanese
  51. smTradChinese                    EQU        2                    ;Traditional Chinese
  52. smKorean                        EQU        3                    ;Korean
  53. smArabic                        EQU        4                    ;Arabic
  54. smHebrew                        EQU        5                    ;Hebrew
  55. smGreek                            EQU        6                    ;Greek
  56. smCyrillic                        EQU        7                    ;Cyrillic
  57. smRSymbol                        EQU        8                    ;Right-left symbol
  58. smDevanagari                    EQU        9                    ;Devanagari
  59. smGurmukhi                        EQU        10                    ;Gurmukhi
  60. smGujarati                        EQU        11                    ;Gujarati
  61. smOriya                            EQU        12                    ;Oriya
  62. smBengali                        EQU        13                    ;Bengali
  63. smTamil                            EQU        14                    ;Tamil
  64. smTelugu                        EQU        15                    ;Telugu
  65. smKannada                        EQU        16                    ;Kannada/Kanarese
  66. smMalayalam                        EQU        17                    ;Malayalam
  67.  
  68. smSinhalese                        EQU        18                    ;Sinhalese
  69. smBurmese                        EQU        19                    ;Burmese
  70. smKhmer                            EQU        20                    ;Khmer/Cambodian
  71. smThai                            EQU        21                    ;Thai
  72. smLaotian                        EQU        22                    ;Laotian
  73. smGeorgian                        EQU        23                    ;Georgian
  74. smArmenian                        EQU        24                    ;Armenian
  75. smSimpChinese                    EQU        25                    ;Simplified Chinese
  76. smTibetan                        EQU        26                    ;Tibetan
  77. smMongolian                        EQU        27                    ;Mongolian
  78. smGeez                            EQU        28                    ;Geez/Ethiopic
  79. smEthiopic                        EQU        28                    ;Synonym for smGeez
  80. smEastEurRoman                    EQU        29                    ;Synonym for smSlavic
  81. smCentralEuroRoman                EQU        smEastEurRoman        ; another synonym 
  82. smVietnamese                    EQU        30                    ;Vietnamese
  83. smExtArabic                        EQU        31                    ;extended Arabic
  84. smUninterp                        EQU        32                    ;uninterpreted symbols, e.g. palette symbols
  85. smKlingon                        EQU        32                    ;Klingon
  86. ;Obsolete names for script systems (kept for backward compatibility)
  87. smChinese                        EQU        2                    ;(use smTradChinese or smSimpChinese)
  88. smRussian                        EQU        7                    ;(old name for smCyrillic)
  89. ; smMaldivian = 25;         (no more smMaldivian!)
  90. smAmharic                        EQU        28                    ;(old name for smGeez)
  91. smSlavic                        EQU        29                    ;(old name for smEastEurRoman)
  92.  
  93. smSindhi                        EQU        31                    ;(old name for smExtArabic)
  94. ; Language Codes 
  95. langEnglish                        EQU        0                    ; smRoman script 
  96. langFrench                        EQU        1                    ; smRoman script 
  97. langGerman                        EQU        2                    ; smRoman script 
  98. langItalian                        EQU        3                    ; smRoman script 
  99. langDutch                        EQU        4                    ; smRoman script 
  100. langSwedish                        EQU        5                    ; smRoman script 
  101. langSpanish                        EQU        6                    ; smRoman script 
  102. langDanish                        EQU        7                    ; smRoman script 
  103. langPortuguese                    EQU        8                    ; smRoman script 
  104. langNorwegian                    EQU        9                    ; smRoman script 
  105. langHebrew                        EQU        10                    ; smHebrew script 
  106. langJapanese                    EQU        11                    ; smJapanese script 
  107. langArabic                        EQU        12                    ; smArabic script 
  108. langFinnish                        EQU        13                    ; smRoman script 
  109. langGreek                        EQU        14                    ; smGreek script 
  110. langIcelandic                    EQU        15                    ; extended Roman script 
  111. langMaltese                        EQU        16                    ; extended Roman script 
  112. langTurkish                        EQU        17                    ; extended Roman script 
  113. langCroatian                    EQU        18                    ; Serbo-Croatian in extended Roman script 
  114. langTradChinese                    EQU        19                    ; Chinese in traditional characters 
  115.  
  116. langUrdu                        EQU        20                    ; smArabic script 
  117. langHindi                        EQU        21                    ; smDevanagari script 
  118. langThai                        EQU        22                    ; smThai script 
  119. langKorean                        EQU        23                    ; smKorean script 
  120. langLithuanian                    EQU        24                    ; smEastEurRoman script 
  121. langPolish                        EQU        25                    ; smEastEurRoman script 
  122. langHungarian                    EQU        26                    ; smEastEurRoman script 
  123. langEstonian                    EQU        27                    ; smEastEurRoman script 
  124. langLettish                        EQU        28                    ; smEastEurRoman script 
  125. langLatvian                        EQU        28                    ; Synonym for langLettish 
  126. langSaamisk                        EQU        29                    ; ext. Roman script, lang. of the Sami/Lapp people of Scand. 
  127. langLappish                        EQU        29                    ; Synonym for langSaamisk 
  128. langFaeroese                    EQU        30                    ; smRoman script 
  129. langFarsi                        EQU        31                    ; smArabic script 
  130. langPersian                        EQU        31                    ; Synonym for langFarsi 
  131. langRussian                        EQU        32                    ; smCyrillic script 
  132. langSimpChinese                    EQU        33                    ; Chinese in simplified characters 
  133. langFlemish                        EQU        34                    ; smRoman script 
  134. langIrish                        EQU        35                    ; smRoman script 
  135. langAlbanian                    EQU        36                    ; smRoman script 
  136.  
  137. langRomanian                    EQU        37                    ; smEastEurRoman script 
  138. langCzech                        EQU        38                    ; smEastEurRoman script 
  139. langSlovak                        EQU        39                    ; smEastEurRoman script 
  140. langSlovenian                    EQU        40                    ; smEastEurRoman script 
  141. langYiddish                        EQU        41                    ; smHebrew script 
  142. langSerbian                        EQU        42                    ; Serbo-Croatian in smCyrillic script 
  143. langMacedonian                    EQU        43                    ; smCyrillic script 
  144. langBulgarian                    EQU        44                    ; smCyrillic script 
  145. langUkrainian                    EQU        45                    ; smCyrillic script 
  146. langByelorussian                EQU        46                    ; smCyrillic script 
  147. langUzbek                        EQU        47                    ; smCyrillic script 
  148. langKazakh                        EQU        48                    ; smCyrillic script 
  149. langAzerbaijani                    EQU        49                    ; Azerbaijani in smCyrillic script (USSR) 
  150. langAzerbaijanAr                EQU        50                    ; Azerbaijani in smArabic script (Iran) 
  151. langArmenian                    EQU        51                    ; smArmenian script 
  152. langGeorgian                    EQU        52                    ; smGeorgian script 
  153. langMoldavian                    EQU        53                    ; smCyrillic script 
  154. langKirghiz                        EQU        54                    ; smCyrillic script 
  155. langTajiki                        EQU        55                    ; smCyrillic script 
  156. langTurkmen                        EQU        56                    ; smCyrillic script 
  157.  
  158. langMongolian                    EQU        57                    ; Mongolian in smMongolian script 
  159. langMongolianCyr                EQU        58                    ; Mongolian in smCyrillic script 
  160. langPashto                        EQU        59                    ; smArabic script 
  161. langKurdish                        EQU        60                    ; smArabic script 
  162. langKashmiri                    EQU        61                    ; smArabic script 
  163. langSindhi                        EQU        62                    ; smExtArabic script 
  164. langTibetan                        EQU        63                    ; smTibetan script 
  165. langNepali                        EQU        64                    ; smDevanagari script 
  166. langSanskrit                    EQU        65                    ; smDevanagari script 
  167. langMarathi                        EQU        66                    ; smDevanagari script 
  168. langBengali                        EQU        67                    ; smBengali script 
  169. langAssamese                    EQU        68                    ; smBengali script 
  170. langGujarati                    EQU        69                    ; smGujarati script 
  171. langPunjabi                        EQU        70                    ; smGurmukhi script 
  172. langOriya                        EQU        71                    ; smOriya script 
  173. langMalayalam                    EQU        72                    ; smMalayalam script 
  174. langKannada                        EQU        73                    ; smKannada script 
  175. langTamil                        EQU        74                    ; smTamil script 
  176. langTelugu                        EQU        75                    ; smTelugu script 
  177. langSinhalese                    EQU        76                    ; smSinhalese script 
  178.  
  179. langBurmese                        EQU        77                    ; smBurmese script 
  180. langKhmer                        EQU        78                    ; smKhmer script 
  181. langLao                            EQU        79                    ; smLaotian script 
  182. langVietnamese                    EQU        80                    ; smVietnamese script 
  183. langIndonesian                    EQU        81                    ; smRoman script 
  184. langTagalog                        EQU        82                    ; smRoman script 
  185. langMalayRoman                    EQU        83                    ; Malay in smRoman script 
  186. langMalayArabic                    EQU        84                    ; Malay in smArabic script 
  187. langAmharic                        EQU        85                    ; smEthiopic script 
  188. langTigrinya                    EQU        86                    ; smEthiopic script 
  189. langGalla                        EQU        87                    ; smEthiopic script 
  190. langOromo                        EQU        87                    ; Synonym for langGalla 
  191. langSomali                        EQU        88                    ; smRoman script 
  192. langSwahili                        EQU        89                    ; smRoman script 
  193. langRuanda                        EQU        90                    ; smRoman script 
  194. langRundi                        EQU        91                    ; smRoman script 
  195. langChewa                        EQU        92                    ; smRoman script 
  196. langMalagasy                    EQU        93                    ; smRoman script 
  197. langEsperanto                    EQU        94                    ; extended Roman script 
  198. langWelsh                        EQU        128                    ; smRoman script 
  199.  
  200. langBasque                        EQU        129                    ; smRoman script 
  201. langCatalan                        EQU        130                    ; smRoman script 
  202. langLatin                        EQU        131                    ; smRoman script 
  203. langQuechua                        EQU        132                    ; smRoman script 
  204. langGuarani                        EQU        133                    ; smRoman script 
  205. langAymara                        EQU        134                    ; smRoman script 
  206. langTatar                        EQU        135                    ; smCyrillic script 
  207. langUighur                        EQU        136                    ; smArabic script 
  208. langDzongkha                    EQU        137                    ; (lang of Bhutan) smTibetan script 
  209. langJavaneseRom                    EQU        138                    ; Javanese in smRoman script 
  210. langSundaneseRom                EQU        139                    ; Sundanese in smRoman script 
  211. ; Obsolete names, kept for backward compatibility 
  212. langPortugese                    EQU        8                    ; old misspelled version, kept for compatibility 
  213. langMalta                        EQU        16                    ; old misspelled version, kept for compatibility 
  214. langYugoslavian                    EQU        18                    ; (use langCroatian, langSerbian, etc.) 
  215. langChinese                        EQU        19                    ; (use langTradChinese or langSimpChinese) 
  216. langLapponian                    EQU        29                    ; Synonym for langSaamisk, not correct name 
  217.  
  218. ; Regional version codes 
  219. verUS                            EQU        0
  220. verFrance                        EQU        1
  221. verBritain                        EQU        2
  222. verGermany                        EQU        3
  223. verItaly                        EQU        4
  224. verNetherlands                    EQU        5
  225. verFrBelgiumLux                    EQU        6                    ; French for Belgium & Luxembourg 
  226. verSweden                        EQU        7
  227. verSpain                        EQU        8
  228. verDenmark                        EQU        9
  229. verPortugal                        EQU        10
  230. verFrCanada                        EQU        11
  231. verNorway                        EQU        12
  232.  
  233. verIsrael                        EQU        13
  234. verJapan                        EQU        14
  235. verAustralia                    EQU        15
  236. verArabic                        EQU        16                    ; synonym for verArabia 
  237. verFinland                        EQU        17
  238. verFrSwiss                        EQU        18                    ; French Swiss 
  239. verGrSwiss                        EQU        19                    ; German Swiss 
  240. verGreece                        EQU        20
  241. verIceland                        EQU        21
  242. verMalta                        EQU        22
  243. verCyprus                        EQU        23
  244. verTurkey                        EQU        24
  245. verYugoCroatian                    EQU        25                    ; Croatian system for Yugoslavia 
  246. verNetherlandsComma                EQU        26
  247. verBelgiumLuxPoint                EQU        27
  248. verCanadaComma                    EQU        28
  249. verCanadaPoint                    EQU        29
  250. vervariantPortugal                EQU        30
  251. vervariantNorway                EQU        31
  252. vervariantDenmark                EQU        32
  253. verIndiaHindi                    EQU        33                    ; Hindi system for India 
  254. verPakistan                        EQU        34
  255. verTurkishModified                EQU        35
  256. verRomania                        EQU        39
  257. verGreekAncient                    EQU        40
  258. verLithuania                    EQU        41
  259. verPoland                        EQU        42
  260. verHungary                        EQU        43
  261. verEstonia                        EQU        44
  262. verLatvia                        EQU        45
  263.  
  264. verLapland                        EQU        46
  265. verFaeroeIsl                    EQU        47
  266. verIran                            EQU        48
  267. verRussia                        EQU        49
  268. verIreland                        EQU        50                    ; English-language version for Ireland 
  269. verKorea                        EQU        51
  270. verChina                        EQU        52
  271. verTaiwan                        EQU        53
  272. verThailand                        EQU        54
  273. verCzech                        EQU        56
  274. verSlovak                        EQU        57
  275. verGenericFE                    EQU        58
  276. verMagyar                        EQU        59
  277. verBengali                        EQU        60
  278. verByeloRussian                    EQU        61
  279. verUkrania                        EQU        62
  280. verItalianSwiss                    EQU        63
  281. verAlternateGr                    EQU        64
  282. verCroatia                        EQU        68
  283.  
  284. minCountry                        EQU        verUS
  285. maxCountry                        EQU        verCroatia            ; changed from verAlternateGr when additional enums added 
  286.  
  287. ; Obsolete region code names, kept for backward compatibility 
  288. verBelgiumLux                    EQU        6                    ; (use verFrBelgiumLux instead, less ambiguous) 
  289. verArabia                        EQU        16
  290. verYugoslavia                    EQU        25                    ; (use verYugoCroatian instead, less ambiguous) 
  291. verIndia                        EQU        33                    ; (use verIndiaHindi instead, less ambiguous) 
  292. ; Calendar Codes 
  293. calGregorian                    EQU        0
  294. calArabicCivil                    EQU        1
  295. calArabicLunar                    EQU        2
  296. calJapanese                        EQU        3
  297. calJewish                        EQU        4
  298. calCoptic                        EQU        5
  299. calPersian                        EQU        6
  300. ; Integer Format Codes 
  301. intWestern                        EQU        0
  302. intArabic                        EQU        1
  303. intRoman                        EQU        2
  304. intJapanese                        EQU        3
  305. intEuropean                        EQU        4
  306. intOutputMask                    EQU        $8000
  307. ; CharByte byte types 
  308. smSingleByte                    EQU        0
  309. smFirstByte                        EQU        -1
  310. smLastByte                        EQU        1
  311. smMiddleByte                    EQU        2
  312. ; CharType field masks 
  313. smcTypeMask                        EQU        $000F
  314. smcReserved                        EQU        $00F0
  315.  
  316. smcClassMask                    EQU        $0F00
  317. smcOrientationMask                EQU        $1000                ;two-byte script glyph orientation
  318. smcRightMask                    EQU        $2000
  319. smcUpperMask                    EQU        $4000
  320. smcDoubleMask                    EQU        $8000
  321. ; Basic CharType character types 
  322. smCharPunct                        EQU        $0000
  323. smCharAscii                        EQU        $0001
  324. smCharEuro                        EQU        $0007
  325. smCharExtAscii                    EQU        $0007                ; More correct synonym for smCharEuro 
  326. ; Additional CharType character types for script systems 
  327. smCharKatakana                    EQU        $0002                ;Japanese Katakana
  328. smCharHiragana                    EQU        $0003                ;Japanese Hiragana
  329. smCharIdeographic                EQU        $0004                ;Hanzi, Kanji, Hanja
  330. smCharTwoByteGreek                EQU        $0005                ;2-byte Greek in Far East systems
  331. smCharTwoByteRussian            EQU        $0006                ;2-byte Cyrillic in Far East systems
  332. smCharBidirect                    EQU        $0008                ;Arabic/Hebrew
  333. smCharContextualLR                EQU        $0009                ;Contextual left-right: Thai, Indic scripts
  334. smCharNonContextualLR            EQU        $000A                ;Non-contextual left-right: Cyrillic, Greek
  335. smCharHangul                    EQU        $000C                ;Korean Hangul
  336. smCharJamo                        EQU        $000D                ;Korean Jamo
  337. smCharBopomofo                    EQU        $000E                ;Chinese Bopomofo
  338. ; old names for some of above, for backward compatibility 
  339. smCharFISKana                    EQU        $0002                ;Katakana
  340. smCharFISGana                    EQU        $0003                ;Hiragana
  341. smCharFISIdeo                    EQU        $0004                ;Hanzi, Kanji, Hanja
  342.  
  343. smCharFISGreek                    EQU        $0005                ;2-byte Greek in Far East systems
  344. smCharFISRussian                EQU        $0006                ;2-byte Cyrillic in Far East systems
  345. ; CharType classes for punctuation (smCharPunct) 
  346. smPunctNormal                    EQU        $0000
  347. smPunctNumber                    EQU        $0100
  348. smPunctSymbol                    EQU        $0200
  349. smPunctBlank                    EQU        $0300
  350. ; Additional CharType classes for punctuation in two-byte systems 
  351. smPunctRepeat                    EQU        $0400                ; repeat marker 
  352. smPunctGraphic                    EQU        $0500                ; line graphics 
  353. ; CharType Katakana and Hiragana classes for two-byte systems 
  354. smKanaSmall                        EQU        $0100                ;small kana character
  355. smKanaHardOK                    EQU        $0200                ;can have dakuten
  356. smKanaSoftOK                    EQU        $0300                ;can have dakuten or han-dakuten
  357. ; CharType Ideographic classes for two-byte systems 
  358. smIdeographicLevel1                EQU        $0000                ;level 1 char
  359. smIdeographicLevel2                EQU        $0100                ;level 2 char
  360. smIdeographicUser                EQU        $0200                ;user char
  361. ; old names for above, for backward compatibility 
  362. smFISClassLvl1                    EQU        $0000                ;level 1 char
  363. smFISClassLvl2                    EQU        $0100                ;level 2 char
  364. smFISClassUser                    EQU        $0200                ;user char
  365. ; CharType Jamo classes for Korean systems 
  366. smJamoJaeum                        EQU        $0000                ;simple consonant char
  367. smJamoBogJaeum                    EQU        $0100                ;complex consonant char
  368. smJamoMoeum                        EQU        $0200                ;simple vowel char
  369.  
  370. smJamoBogMoeum                    EQU        $0300                ;complex vowel char
  371. ; CharType glyph orientation for two-byte systems 
  372. smCharHorizontal                EQU        $0000                ; horizontal character form, or for both 
  373. smCharVertical                    EQU        $1000                ; vertical character form 
  374. ; CharType directions 
  375. smCharLeft                        EQU        $0000
  376. smCharRight                        EQU        $2000
  377. ; CharType case modifers 
  378. smCharLower                        EQU        $0000
  379. smCharUpper                        EQU        $4000
  380. ; CharType character size modifiers (1 or multiple bytes). 
  381. smChar1byte                        EQU        $0000
  382. smChar2byte                        EQU        $8000
  383. ; TransliterateText target types for Roman 
  384. smTransAscii                    EQU        0                    ;convert to ASCII
  385. smTransNative                    EQU        1                    ;convert to font script
  386. smTransCase                        EQU        $FE                    ;convert case for all text
  387. smTransSystem                    EQU        $FF                    ;convert to system script
  388. ; TransliterateText target types for two-byte scripts 
  389. smTransAscii1                    EQU        2                    ;1-byte Roman
  390. smTransAscii2                    EQU        3                    ;2-byte Roman
  391. smTransKana1                    EQU        4                    ;1-byte Japanese Katakana
  392. smTransKana2                    EQU        5                    ;2-byte Japanese Katakana
  393.  
  394. smTransGana2                    EQU        7                    ;2-byte Japanese Hiragana (no 1-byte Hiragana)
  395. smTransHangul2                    EQU        8                    ;2-byte Korean Hangul
  396. smTransJamo2                    EQU        9                    ;2-byte Korean Jamo
  397. smTransBopomofo2                EQU        10                    ;2-byte Chinese Bopomofo
  398. ; TransliterateText target modifiers 
  399. smTransLower                    EQU        $4000                ;target becomes lowercase
  400. smTransUpper                    EQU        $8000                ;target becomes uppercase
  401. ; TransliterateText resource format numbers 
  402. smTransRuleBaseFormat            EQU        1                    ;Rule based trsl resource format 
  403. smTransHangulFormat                EQU        2                    ;Table based Hangul trsl resource format
  404. ; TransliterateText property flags 
  405. smTransPreDoubleByting            EQU        1                    ;Convert all text to double byte before transliteration
  406. smTransPreLowerCasing            EQU        2                    ;Convert all text to lower case before transliteration
  407. ; TransliterateText source mask - general 
  408. smMaskAll                        EQU        $FFFFFFFF            ;Convert all text
  409. ; TransliterateText source masks 
  410. smMaskAscii                        EQU        $00000001            ;2^smTransAscii
  411. smMaskNative                    EQU        $00000002            ;2^smTransNative
  412. ; TransliterateText source masks for two-byte scripts 
  413. smMaskAscii1                    EQU        $00000004            ;2^smTransAscii1
  414. smMaskAscii2                    EQU        $00000008            ;2^smTransAscii2
  415. smMaskKana1                        EQU        $00000010            ;2^smTransKana1
  416. smMaskKana2                        EQU        $00000020            ;2^smTransKana2
  417. smMaskGana2                        EQU        $00000080            ;2^smTransGana2
  418. smMaskHangul2                    EQU        $00000100            ;2^smTransHangul2
  419. smMaskJamo2                        EQU        $00000200            ;2^smTransJamo2
  420. smMaskBopomofo2                    EQU        $00000400            ;2^smTransBopomofo2
  421.  
  422. ; Result values from GetScriptManagerVariable and SetScriptManagerVariable calls. 
  423. smNotInstalled                    EQU        0                    ;routine not available in script
  424. smBadVerb                        EQU        -1                    ;Bad verb passed to a routine
  425. smBadScript                        EQU        -2                    ;Bad script code passed to a routine
  426.  
  427. ; Values for script redraw flag. 
  428. smRedrawChar                    EQU        0                    ;Redraw character only
  429. smRedrawWord                    EQU        1                    ;Redraw entire word (2-byte systems)
  430. smRedrawLine                    EQU        -1                    ;Redraw entire line (bidirectional systems)
  431. ; GetScriptManagerVariable and SetScriptManagerVariable verbs 
  432. smVersion                        EQU        0                    ;Script Manager version number
  433. smMunged                        EQU        2                    ;Globals change count
  434. smEnabled                        EQU        4                    ;Count of enabled scripts, incl Roman
  435. smBidirect                        EQU        6                    ;At least one bidirectional script
  436. smFontForce                        EQU        8                    ;Force font flag
  437. smIntlForce                        EQU        10                    ;Force intl flag
  438. smForced                        EQU        12                    ;Script was forced to system script
  439. smDefault                        EQU        14                    ;Script was defaulted to Roman script
  440. smPrint                            EQU        16                    ;Printer action routine
  441. smSysScript                        EQU        18                    ;System script
  442. smLastScript                    EQU        20                    ;Last keyboard script
  443. smKeyScript                        EQU        22                    ;Keyboard script
  444. smSysRef                        EQU        24                    ;System folder refNum
  445. smKeyCache                        EQU        26                    ;obsolete
  446. smKeySwap                        EQU        28                    ;Swapping table handle
  447. smGenFlags                        EQU        30                    ;General flags long
  448. smOverride                        EQU        32                    ;Script override flags
  449.  
  450. smCharPortion                    EQU        34                    ;Ch vs SpExtra proportion
  451. ; New for System 7.0: 
  452. smDoubleByte                    EQU        36                    ;Flag for double-byte script installed
  453. smKCHRCache                        EQU        38                    ;Returns pointer to KCHR cache
  454. smRegionCode                    EQU        40                    ;Returns current region code (verXxx)
  455. smKeyDisableState                EQU        42                    ;Returns current keyboard disable state
  456. ; GetScriptVariable and SetScriptVariable verbs.
  457. ;Note: Verbs private to script systems are negative, while
  458. ;those general across script systems are non-negative. 
  459. smScriptVersion                    EQU        0                    ;Script software version
  460. smScriptMunged                    EQU        2                    ;Script entry changed count
  461. smScriptEnabled                    EQU        4                    ;Script enabled flag
  462. smScriptRight                    EQU        6                    ;Right to left flag
  463. smScriptJust                    EQU        8                    ;Justification flag
  464. smScriptRedraw                    EQU        10                    ;Word redraw flag
  465. smScriptSysFond                    EQU        12                    ;Preferred system font
  466. smScriptAppFond                    EQU        14                    ;Preferred Application font
  467. smScriptBundle                    EQU        16                    ;Beginning of itlb verbs
  468. smScriptNumber                    EQU        16                    ;Script itl0 id
  469. smScriptDate                    EQU        18                    ;Script itl1 id
  470. smScriptSort                    EQU        20                    ;Script itl2 id
  471. smScriptFlags                    EQU        22                    ;flags word
  472. smScriptToken                    EQU        24                    ;Script itl4 id
  473. smScriptEncoding                EQU        26                    ;id of optional itl5, if present
  474. smScriptLang                    EQU        28                    ;Current language for script
  475.  
  476. smScriptNumDate                    EQU        30                    ;Script Number/Date formats.
  477. smScriptKeys                    EQU        32                    ;Script KCHR id
  478. smScriptIcon                    EQU        34                    ;ID # of SICN or kcs#/kcs4/kcs8 suite
  479. smScriptPrint                    EQU        36                    ;Script printer action routine
  480. smScriptTrap                    EQU        38                    ;Trap entry pointer
  481. smScriptCreator                    EQU        40                    ;Script file creator
  482. smScriptFile                    EQU        42                    ;Script file name
  483. smScriptName                    EQU        44                    ;Script name
  484. ; There is a hole here for old Kanji private verbs 46-76 
  485. ;
  486. ; New for System 7.0: 
  487. smScriptMonoFondSize            EQU        78                    ;default monospace FOND (hi) & size (lo)
  488. smScriptPrefFondSize            EQU        80                    ;preferred FOND (hi) & size (lo)
  489. smScriptSmallFondSize            EQU        82                    ;default small FOND (hi) & size (lo)
  490. smScriptSysFondSize                EQU        84                    ;default system FOND (hi) & size (lo)
  491. smScriptAppFondSize                EQU        86                    ;default app FOND (hi) & size (lo)
  492. smScriptHelpFondSize            EQU        88                    ;default Help Mgr FOND (hi) & size (lo)
  493. smScriptValidStyles                EQU        90                    ;mask of valid styles for script
  494. smScriptAliasStyle                EQU        92                    ;style (set) to use for aliases
  495. ; Special script code values for International Utilities 
  496. iuSystemScript                    EQU        -1                    ; <obsolete>  system script 
  497. iuCurrentScript                    EQU        -2                    ; <obsolete>  current script (for font of grafPort) 
  498. ; Negative verbs for KeyScript 
  499. smKeyNextScript                    EQU        -1                    ; Switch to next available script 
  500. smKeySysScript                    EQU        -2                    ; Switch to the system script 
  501. smKeySwapScript                    EQU        -3                    ; Switch to previously-used script 
  502. ; New for System 7.0: 
  503. smKeyNextKybd                    EQU        -4                    ; Switch to next keyboard in current keyscript 
  504.  
  505. smKeySwapKybd                    EQU        -5                    ; Switch to previously-used keyboard in current keyscript 
  506. smKeyDisableKybds                EQU        -6                    ; Disable keyboards not in system or Roman script 
  507. smKeyEnableKybds                EQU        -7                    ; Re-enable keyboards for all enabled scripts 
  508. smKeyToggleInline                EQU        -8                    ; Toggle inline input for current keyscript 
  509. smKeyToggleDirection            EQU        -9                    ; Toggle default line direction (TESysJust) 
  510. smKeyNextInputMethod            EQU        -10                    ; Switch to next input method in current keyscript 
  511. smKeySwapInputMethod            EQU        -11                    ; Switch to last-used input method in current keyscript 
  512. smKeyDisableKybdSwitch            EQU        -12                    ; Disable switching from the current keyboard 
  513. smKeySetDirLeftRight            EQU        -15                    ; Set default line dir to left-right, align left 
  514. smKeySetDirRightLeft            EQU        -16                    ; Set default line dir to right-left, align right 
  515. smKeyRoman                        EQU        -17                    ; Set keyscript to Roman. Does nothing if Roman-only
  516. ;                                        system, unlike KeyScript(smRoman) which forces
  517. ;                                        an update to current default Roman keyboard 
  518. ; Bits in the smScriptFlags word
  519. ;(bits above 8 are non-static) 
  520. smsfIntellCP                    EQU        0                    ;Script has intelligent cut & paste
  521. smsfSingByte                    EQU        1                    ;Script has only single bytes
  522. smsfNatCase                        EQU        2                    ;Native chars have upper & lower case
  523. smsfContext                        EQU        3                    ;Script is contextual
  524. smsfNoForceFont                    EQU        4                    ;Script will not force characters
  525. smsfB0Digits                    EQU        5                    ;Script has alternate digits at B0-B9
  526. smsfAutoInit                    EQU        6                    ;Auto initialize the script
  527. smsfUnivExt                        EQU        7                    ;Script is handled by universal extension
  528. smsfSynchUnstyledTE                EQU        8                    ;Script synchronizes for unstyled TE
  529. smsfForms                        EQU        13                    ;Uses contextual forms for letters
  530. smsfLigatures                    EQU        14                    ;Uses contextual ligatures
  531. smsfReverse                        EQU        15                    ;Reverses native text, right-left
  532. ; Bits in the smGenFlags long.
  533. ;First (high-order) byte is set from itlc flags byte. 
  534. smfShowIcon                        EQU        31                    ;Show icon even if only one script
  535. smfDualCaret                    EQU        30                    ;Use dual caret for mixed direction text
  536. smfNameTagEnab                    EQU        29                    ;Reserved for internal use
  537. smfUseAssocFontInfo                EQU        28                    ;Use the associated font info for FontMetrics calls <48>
  538.  
  539. ; Roman script constants 
  540. ; The following are here for backward compatibility, but should not be used. 
  541. ; This information should be obtained using GetScript. 
  542. romanSysFond                    EQU        $3FFF                ;system font id number
  543. romanAppFond                    EQU        3                    ;application font id number
  544. romanFlags                        EQU        $0007                ;roman settings
  545. ; Script Manager font equates. 
  546. smFondStart                        EQU        $4000                ;start from 16K
  547. smFondEnd                        EQU        $C000                ;past end of range at 48K
  548. ; Miscellaneous font equates. 
  549. smUprHalfCharSet                EQU        $80                    ;first char code in top half of std char set
  550. ; Character Set Extensions 
  551. diaeresisUprY                    EQU        $D9
  552. fraction                        EQU        $DA
  553. intlCurrency                    EQU        $DB
  554. leftSingGuillemet                EQU        $DC
  555. rightSingGuillemet                EQU        $DD
  556. fiLigature                        EQU        $DE
  557. flLigature                        EQU        $DF
  558. dblDagger                        EQU        $E0
  559. centeredDot                        EQU        $E1
  560. baseSingQuote                    EQU        $E2
  561. baseDblQuote                    EQU        $E3
  562. perThousand                        EQU        $E4
  563. circumflexUprA                    EQU        $E5
  564.  
  565. circumflexUprE                    EQU        $E6
  566. acuteUprA                        EQU        $E7
  567. diaeresisUprE                    EQU        $E8
  568. graveUprE                        EQU        $E9
  569. acuteUprI                        EQU        $EA
  570. circumflexUprI                    EQU        $EB
  571. diaeresisUprI                    EQU        $EC
  572. graveUprI                        EQU        $ED
  573. acuteUprO                        EQU        $EE
  574. circumflexUprO                    EQU        $EF
  575. appleLogo                        EQU        $F0
  576. graveUprO                        EQU        $F1
  577. acuteUprU                        EQU        $F2
  578. circumflexUprU                    EQU        $F3
  579. graveUprU                        EQU        $F4
  580. dotlessLwrI                        EQU        $F5
  581. circumflex                        EQU        $F6
  582. tilde                            EQU        $F7
  583. macron                            EQU        $F8
  584. breveMark                        EQU        $F9
  585.  
  586. overDot                            EQU        $FA
  587. ringMark                        EQU        $FB
  588. cedilla                            EQU        $FC
  589. doubleAcute                        EQU        $FD
  590. ogonek                            EQU        $FE
  591. hachek                            EQU        $FF
  592. ; TokenType values 
  593. tokenIntl                        EQU        4                    ;the itl resource number of the tokenizer
  594. tokenEmpty                        EQU        -1                    ;used internally as an empty flag
  595.  
  596. tokenUnknown                    EQU        0                    ;chars that do not match a defined token type
  597. tokenWhite                        EQU        1                    ;white space
  598. tokenLeftLit                    EQU        2                    ;literal begin
  599. tokenRightLit                    EQU        3                    ;literal end
  600. tokenAlpha                        EQU        4                    ;alphabetic
  601. tokenNumeric                    EQU        5                    ;numeric
  602. tokenNewLine                    EQU        6                    ;new line
  603. tokenLeftComment                EQU        7                    ;open comment
  604. tokenRightComment                EQU        8                    ;close comment
  605. tokenLiteral                    EQU        9                    ;literal
  606. tokenEscape                        EQU        10                    ;character escape (e.g. '\' in "\n", "\t")
  607. tokenAltNum                        EQU        11                    ;alternate number (e.g. $B0-B9 in Arabic,Hebrew)
  608. tokenRealNum                    EQU        12                    ;real number
  609. tokenAltReal                    EQU        13                    ;alternate real number
  610. tokenReserve1                    EQU        14                    ;reserved
  611. tokenReserve2                    EQU        15                    ;reserved
  612. tokenLeftParen                    EQU        16                    ;open parenthesis
  613. tokenRightParen                    EQU        17                    ;close parenthesis
  614. tokenLeftBracket                EQU        18                    ;open square bracket
  615. tokenRightBracket                EQU        19                    ;close square bracket
  616.  
  617. tokenLeftCurly                    EQU        20                    ;open curly bracket
  618. tokenRightCurly                    EQU        21                    ;close curly bracket
  619. tokenLeftEnclose                EQU        22                    ;open guillemet
  620. tokenRightEnclose                EQU        23                    ;close guillemet
  621. tokenPlus                        EQU        24
  622. tokenMinus                        EQU        25
  623. tokenAsterisk                    EQU        26                    ;times/multiply
  624. tokenDivide                        EQU        27
  625. tokenPlusMinus                    EQU        28                    ;plus or minus symbol
  626. tokenSlash                        EQU        29
  627. tokenBackSlash                    EQU        30
  628. tokenLess                        EQU        31                    ;less than symbol
  629. tokenGreat                        EQU        32                    ;greater than symbol
  630. tokenEqual                        EQU        33
  631. tokenLessEqual2                    EQU        34                    ;less than or equal, 2 characters (e.g. <=)
  632. tokenLessEqual1                    EQU        35                    ;less than or equal, 1 character
  633. tokenGreatEqual2                EQU        36                    ;greater than or equal, 2 characters (e.g. >=)
  634. tokenGreatEqual1                EQU        37                    ;greater than or equal, 1 character
  635. token2Equal                        EQU        38                    ;double equal (e.g. ==)
  636. tokenColonEqual                    EQU        39                    ;colon equal
  637.  
  638. tokenNotEqual                    EQU        40                    ;not equal, 1 character
  639. tokenLessGreat                    EQU        41                    ;less/greater, Pascal not equal (e.g. <>)
  640. tokenExclamEqual                EQU        42                    ;exclamation equal, C not equal (e.g. !=)
  641. tokenExclam                        EQU        43                    ;exclamation point
  642. tokenTilde                        EQU        44                    ;centered tilde
  643. tokenComma                        EQU        45
  644. tokenPeriod                        EQU        46
  645. tokenLeft2Quote                    EQU        47                    ;open double quote
  646. tokenRight2Quote                EQU        48                    ;close double quote
  647. tokenLeft1Quote                    EQU        49                    ;open single quote
  648. tokenRight1Quote                EQU        50                    ;close single quote
  649. token2Quote                        EQU        51                    ;double quote
  650. token1Quote                        EQU        52                    ;single quote
  651. tokenSemicolon                    EQU        53
  652. tokenPercent                    EQU        54
  653. tokenCaret                        EQU        55
  654. tokenUnderline                    EQU        56
  655. tokenAmpersand                    EQU        57
  656. tokenAtSign                        EQU        58
  657. tokenBar                        EQU        59                    ;vertical bar
  658.  
  659. tokenQuestion                    EQU        60
  660. tokenPi                            EQU        61                    ;lower-case pi
  661. tokenRoot                        EQU        62                    ;square root symbol
  662. tokenSigma                        EQU        63                    ;capital sigma
  663. tokenIntegral                    EQU        64                    ;integral sign
  664. tokenMicro                        EQU        65
  665. tokenCapPi                        EQU        66                    ;capital pi
  666. tokenInfinity                    EQU        67
  667. tokenColon                        EQU        68
  668. tokenHash                        EQU        69                    ;e.g. #
  669. tokenDollar                        EQU        70
  670. tokenNoBreakSpace                EQU        71                    ;non-breaking space
  671. tokenFraction                    EQU        72
  672. tokenIntlCurrency                EQU        73
  673. tokenLeftSingGuillemet            EQU        74
  674. tokenRightSingGuillemet            EQU        75
  675. tokenPerThousand                EQU        76
  676. tokenEllipsis                    EQU        77
  677. tokenCenterDot                    EQU        78
  678. tokenNil                        EQU        127
  679.  
  680. delimPad                        EQU        -2
  681. ; obsolete, misspelled token names kept for backward compatibility 
  682. tokenTilda                        EQU        44
  683. tokenCarat                        EQU        55
  684.  
  685. ; Table selectors for GetItlTable 
  686. smWordSelectTable                EQU        0                    ; get word select break table from 'itl2' 
  687. smWordWrapTable                    EQU        1                    ; get word wrap break table from 'itl2' 
  688. smNumberPartsTable                EQU        2                    ; get default number parts table from 'itl4' 
  689. smUnTokenTable                    EQU        3                    ; get unToken table from 'itl4' 
  690. smWhiteSpaceList                EQU        4                    ; get white space list from 'itl4' 
  691. iuWordSelectTable                EQU        0                    ; <obsolete>  get word select break table from 'itl2' 
  692. iuWordWrapTable                    EQU        1                    ; <obsolete>  get word wrap break table from 'itl2' 
  693. iuNumberPartsTable                EQU        2                    ; <obsolete>  get default number parts table from 'itl4' 
  694. iuUnTokenTable                    EQU        3                    ; <obsolete>  get unToken table from 'itl4' 
  695. iuWhiteSpaceList                EQU        4                    ; <obsolete>  get white space list from 'itl4' 
  696.  
  697. ; end of stuff moved from Packages.h 
  698. tokenOK                            EQU        0                    ; TokenResults 
  699. tokenOverflow                    EQU        1                    ; TokenResults 
  700. stringOverflow                    EQU        2                    ; TokenResults 
  701. badDelim                        EQU        3                    ; TokenResults 
  702. badEnding                        EQU        4                    ; TokenResults 
  703. crash                            EQU        5                    ; TokenResults 
  704.  
  705. ; typedef SInt8             TokenResults
  706. ; typedef char                 CharByteTable[256]
  707. ; typedef short             TokenType
  708. ; typedef TokenType         DelimType[2]
  709. ; typedef TokenType         CommentType[4]
  710. TokenRec                 RECORD    0
  711. theToken                 ds.w   1        ; offset: $0 (0)
  712. position                 ds.l   1        ; offset: $2 (2)        ;pointer into original source
  713. length                     ds.l   1        ; offset: $6 (6)        ;length of text in original source
  714. stringPosition             ds.l   1        ; offset: $A (10)        ;Pascal/C string copy of identifier
  715. sizeof                     EQU *            ; size:   $E (14)
  716.                         ENDR
  717.  
  718. ; typedef struct TokenRec     TokenRec
  719. ; typedef TokenRec             *TokenRecPtr
  720. TokenBlock                 RECORD    0
  721. source                     ds.l   1        ; offset: $0 (0)        ;pointer to stream of characters
  722. sourceLength             ds.l   1        ; offset: $4 (4)        ;length of source stream
  723. tokenList                 ds.l   1        ; offset: $8 (8)        ;pointer to array of tokens
  724. tokenLength                 ds.l   1        ; offset: $C (12)        ;maximum length of TokenList
  725. tokenCount                 ds.l   1        ; offset: $10 (16)        ;number tokens generated by tokenizer
  726. stringList                 ds.l   1        ; offset: $14 (20)        ;pointer to stream of identifiers
  727. stringLength             ds.l   1        ; offset: $18 (24)        ;length of string list
  728. stringCount                 ds.l   1        ; offset: $1C (28)        ;number of bytes currently used
  729. doString                 ds.b   1        ; offset: $20 (32)        ;make strings & put into StringList
  730. doAppend                 ds.b   1        ; offset: $21 (33)        ;append to TokenList rather than replace
  731. doAlphanumeric             ds.b   1        ; offset: $22 (34)        ;identifiers may include numeric
  732. doNest                     ds.b   1        ; offset: $23 (35)        ;do comments nest?
  733. leftDelims                 ds.w   2        ; offset: $24 (36)
  734. rightDelims                 ds.w   2        ; offset: $28 (40)
  735. leftComment                 ds.w   4        ; offset: $2C (44)
  736. rightComment             ds.w   4        ; offset: $34 (52)
  737. escapeCode                 ds.w   1        ; offset: $3C (60)        ;escape symbol code
  738. decimalCode                 ds.w   1        ; offset: $3E (62)
  739. itlResource                 ds.l   1        ; offset: $40 (64)        ;handle to itl4 resource of current script
  740. reserved                 ds.l   8        ; offset: $44 (68)        ;must be zero!
  741. sizeof                     EQU *            ; size:   $64 (100)
  742.                         ENDR
  743.  
  744. ; typedef struct TokenBlock  TokenBlock
  745. ; typedef TokenBlock         *TokenBlockPtr
  746. ;
  747. ; pascal short GetSysDirection(void)
  748. ;
  749.     IF ¬ GENERATINGCFM THEN
  750.         Macro
  751.         _GetSysDirection         &dest=(sp)
  752.         move.w               $0BAC,&dest
  753.         EndM
  754.     ELSE
  755.         IMPORT_CFM_FUNCTION    GetSysDirection
  756.     ENDIF
  757.  
  758. ;
  759. ; pascal void SetSysDirection(short value)
  760. ;
  761.     IF ¬ GENERATINGCFM THEN
  762.         Macro
  763.         _SetSysDirection         &src=(sp)+
  764.         move.w               &src,$0BAC
  765.         EndM
  766.     ELSE
  767.         IMPORT_CFM_FUNCTION    SetSysDirection
  768.     ENDIF
  769.  
  770. ;
  771. ; pascal short FontScript(void)
  772. ;
  773.     IF ¬ GENERATINGCFM THEN
  774.         Macro
  775.         _FontScript
  776.             dc.w     $2F3C
  777.             dc.w     $8200
  778.             dc.w     $0000
  779.             dc.w     $A8B5
  780.         EndM
  781.     ELSE
  782.         IMPORT_CFM_FUNCTION    FontScript
  783.     ENDIF
  784.  
  785. ;
  786. ; pascal short IntlScript(void)
  787. ;
  788.     IF ¬ GENERATINGCFM THEN
  789.         Macro
  790.         _IntlScript
  791.             dc.w     $2F3C
  792.             dc.w     $8200
  793.             dc.w     $0002
  794.             dc.w     $A8B5
  795.         EndM
  796.     ELSE
  797.         IMPORT_CFM_FUNCTION    IntlScript
  798.     ENDIF
  799.  
  800. ;
  801. ; pascal void KeyScript(short code)
  802. ;
  803.     IF ¬ GENERATINGCFM THEN
  804.         Macro
  805.         _KeyScript
  806.             dc.w     $2F3C
  807.             dc.w     $8002
  808.             dc.w     $0004
  809.             dc.w     $A8B5
  810.         EndM
  811.     ELSE
  812.         IMPORT_CFM_FUNCTION    KeyScript
  813.     ENDIF
  814.  
  815. ;
  816. ; pascal short CharByte(Ptr textBuf, short textOffset)
  817. ;
  818.     IF ¬ GENERATINGCFM THEN
  819.         Macro
  820.         _CharByte
  821.             dc.w     $2F3C
  822.             dc.w     $8206
  823.             dc.w     $0010
  824.             dc.w     $A8B5
  825.         EndM
  826.     ELSE
  827.         IMPORT_CFM_FUNCTION    CharByte
  828.     ENDIF
  829.  
  830. ;
  831. ; pascal short CharType(Ptr textBuf, short textOffset)
  832. ;
  833.     IF ¬ GENERATINGCFM THEN
  834.         Macro
  835.         _CharType
  836.             dc.w     $2F3C
  837.             dc.w     $8206
  838.             dc.w     $0012
  839.             dc.w     $A8B5
  840.         EndM
  841.     ELSE
  842.         IMPORT_CFM_FUNCTION    CharType
  843.     ENDIF
  844.  
  845. ;
  846. ; pascal Boolean IsCmdChar(const EventRecord *event, short test)
  847. ;
  848.     IF ¬ GENERATINGCFM THEN
  849.         Macro
  850.         _IsCmdChar
  851.             dc.w     $2F3C
  852.             dc.w     $8206
  853.             dc.w     $FFD0
  854.             dc.w     $A8B5
  855.         EndM
  856.     ELSE
  857.         IMPORT_CFM_FUNCTION    IsCmdChar
  858.     ENDIF
  859.  
  860. ;
  861. ; pascal OSErr Transliterate(Handle srcHandle, Handle dstHandle, short target, long srcMask)
  862. ;
  863.     IF ¬ GENERATINGCFM THEN
  864.         Macro
  865.         _Transliterate
  866.             dc.w     $2F3C
  867.             dc.w     $820E
  868.             dc.w     $0018
  869.             dc.w     $A8B5
  870.         EndM
  871.     ELSE
  872.         IMPORT_CFM_FUNCTION    Transliterate
  873.     ENDIF
  874.  
  875. ;
  876. ; pascal Boolean ParseTable(CharByteTable table)
  877. ;
  878.     IF ¬ GENERATINGCFM THEN
  879.         Macro
  880.         _ParseTable
  881.             dc.w     $2F3C
  882.             dc.w     $8204
  883.             dc.w     $0022
  884.             dc.w     $A8B5
  885.         EndM
  886.     ELSE
  887.         IMPORT_CFM_FUNCTION    ParseTable
  888.     ENDIF
  889.  
  890. ;
  891. ; pascal TokenResults IntlTokenize(TokenBlockPtr tokenParam)
  892. ;
  893.     IF ¬ GENERATINGCFM THEN
  894.         Macro
  895.         _IntlTokenize
  896.             dc.w     $2F3C
  897.             dc.w     $8204
  898.             dc.w     $FFFA
  899.             dc.w     $A8B5
  900.         EndM
  901.     ELSE
  902.         IMPORT_CFM_FUNCTION    IntlTokenize
  903.     ENDIF
  904.  
  905. ;
  906. ; pascal short FontToScript(short fontNumber)
  907. ;
  908.     IF ¬ GENERATINGCFM THEN
  909.         Macro
  910.         _FontToScript
  911.             dc.w     $2F3C
  912.             dc.w     $8202
  913.             dc.w     $0006
  914.             dc.w     $A8B5
  915.         EndM
  916.     ELSE
  917.         IMPORT_CFM_FUNCTION    FontToScript
  918.     ENDIF
  919.  
  920. ;
  921. ; pascal long GetScriptManagerVariable(short selector)
  922. ;
  923.     IF ¬ GENERATINGCFM THEN
  924.         Macro
  925.         _GetScriptManagerVariable
  926.             dc.w     $2F3C
  927.             dc.w     $8402
  928.             dc.w     $0008
  929.             dc.w     $A8B5
  930.         EndM
  931.     ELSE
  932.         IMPORT_CFM_FUNCTION    GetScriptManagerVariable
  933.     ENDIF
  934.  
  935. ;
  936. ; pascal OSErr SetScriptManagerVariable(short selector, long param)
  937. ;
  938.     IF ¬ GENERATINGCFM THEN
  939.         Macro
  940.         _SetScriptManagerVariable
  941.             dc.w     $2F3C
  942.             dc.w     $8206
  943.             dc.w     $000A
  944.             dc.w     $A8B5
  945.         EndM
  946.     ELSE
  947.         IMPORT_CFM_FUNCTION    SetScriptManagerVariable
  948.     ENDIF
  949.  
  950. ;
  951. ; pascal long GetScriptVariable(short script, short selector)
  952. ;
  953.     IF ¬ GENERATINGCFM THEN
  954.         Macro
  955.         _GetScriptVariable
  956.             dc.w     $2F3C
  957.             dc.w     $8404
  958.             dc.w     $000C
  959.             dc.w     $A8B5
  960.         EndM
  961.     ELSE
  962.         IMPORT_CFM_FUNCTION    GetScriptVariable
  963.     ENDIF
  964.  
  965. ;
  966. ; pascal OSErr SetScriptVariable(short script, short selector, long param)
  967. ;
  968.     IF ¬ GENERATINGCFM THEN
  969.         Macro
  970.         _SetScriptVariable
  971.             dc.w     $2F3C
  972.             dc.w     $8208
  973.             dc.w     $000E
  974.             dc.w     $A8B5
  975.         EndM
  976.     ELSE
  977.         IMPORT_CFM_FUNCTION    SetScriptVariable
  978.     ENDIF
  979.  
  980. ;  New for 7.1  
  981. ;
  982. ; pascal UniversalProcPtr GetScriptUtilityAddress(short selector, Boolean Before, ScriptCode script)
  983. ;
  984.     IF ¬ GENERATINGCFM THEN
  985.         Macro
  986.         _GetScriptUtilityAddress
  987.             dc.w     $2F3C
  988.             dc.w     $C404
  989.             dc.w     $0038
  990.             dc.w     $A8B5
  991.         EndM
  992.     ELSE
  993.         IMPORT_CFM_FUNCTION    GetScriptUtilityAddress
  994.     ENDIF
  995.  
  996. ;
  997. ; pascal void SetScriptUtilityAddress(short selector, Boolean Before, UniversalProcPtr routineAddr, ScriptCode script)
  998. ;
  999.     IF ¬ GENERATINGCFM THEN
  1000.         Macro
  1001.         _SetScriptUtilityAddress
  1002.             dc.w     $2F3C
  1003.             dc.w     $C008
  1004.             dc.w     $003A
  1005.             dc.w     $A8B5
  1006.         EndM
  1007.     ELSE
  1008.         IMPORT_CFM_FUNCTION    SetScriptUtilityAddress
  1009.     ENDIF
  1010.  
  1011. ;
  1012. ; pascal UniversalProcPtr GetScriptQDPatchAddress(short trapNum, Boolean Before, Boolean forPrinting, ScriptCode script)
  1013. ;
  1014.     IF ¬ GENERATINGCFM THEN
  1015.         Macro
  1016.         _GetScriptQDPatchAddress
  1017.             dc.w     $2F3C
  1018.             dc.w     $C406
  1019.             dc.w     $003C
  1020.             dc.w     $A8B5
  1021.         EndM
  1022.     ELSE
  1023.         IMPORT_CFM_FUNCTION    GetScriptQDPatchAddress
  1024.     ENDIF
  1025.  
  1026. ;
  1027. ; pascal void SetScriptQDPatchAddress(short trapNum, Boolean Before, Boolean forPrinting, UniversalProcPtr routineAddr, ScriptCode script)
  1028. ;
  1029.     IF ¬ GENERATINGCFM THEN
  1030.         Macro
  1031.         _SetScriptQDPatchAddress
  1032.             dc.w     $2F3C
  1033.             dc.w     $C00A
  1034.             dc.w     $003E
  1035.             dc.w     $A8B5
  1036.         EndM
  1037.     ELSE
  1038.         IMPORT_CFM_FUNCTION    SetScriptQDPatchAddress
  1039.     ENDIF
  1040.  
  1041. ;
  1042. ; pascal short CharacterByteType(Ptr textBuf, short textOffset, ScriptCode script)
  1043. ;
  1044.     IF ¬ GENERATINGCFM THEN
  1045.         Macro
  1046.         _CharacterByteType
  1047.             dc.w     $2F3C
  1048.             dc.w     $C206
  1049.             dc.w     $0010
  1050.             dc.w     $A8B5
  1051.         EndM
  1052.     ELSE
  1053.         IMPORT_CFM_FUNCTION    CharacterByteType
  1054.     ENDIF
  1055.  
  1056. ;
  1057. ; pascal short CharacterType(Ptr textBuf, short textOffset, ScriptCode script)
  1058. ;
  1059.     IF ¬ GENERATINGCFM THEN
  1060.         Macro
  1061.         _CharacterType
  1062.             dc.w     $2F3C
  1063.             dc.w     $C206
  1064.             dc.w     $0012
  1065.             dc.w     $A8B5
  1066.         EndM
  1067.     ELSE
  1068.         IMPORT_CFM_FUNCTION    CharacterType
  1069.     ENDIF
  1070.  
  1071. ;
  1072. ; pascal OSErr TransliterateText(Handle srcHandle, Handle dstHandle, short target, long srcMask, ScriptCode script)
  1073. ;
  1074.     IF ¬ GENERATINGCFM THEN
  1075.         Macro
  1076.         _TransliterateText
  1077.             dc.w     $2F3C
  1078.             dc.w     $C20E
  1079.             dc.w     $0018
  1080.             dc.w     $A8B5
  1081.         EndM
  1082.     ELSE
  1083.         IMPORT_CFM_FUNCTION    TransliterateText
  1084.     ENDIF
  1085.  
  1086. ;
  1087. ; pascal Boolean FillParseTable(CharByteTable table, ScriptCode script)
  1088. ;
  1089.     IF ¬ GENERATINGCFM THEN
  1090.         Macro
  1091.         _FillParseTable
  1092.             dc.w     $2F3C
  1093.             dc.w     $C204
  1094.             dc.w     $0022
  1095.             dc.w     $A8B5
  1096.         EndM
  1097.     ELSE
  1098.         IMPORT_CFM_FUNCTION    FillParseTable
  1099.     ENDIF
  1100.  
  1101. ; Moved from Packages.h 
  1102. ;
  1103. ; pascal Handle GetIntlResource(short theID)
  1104. ;
  1105.     IF ¬ GENERATINGCFM THEN
  1106.         Macro
  1107.         _GetIntlResource
  1108.             move.w    #$0006,-(sp)
  1109.             dc.w     $A9ED
  1110.         EndM
  1111.     ELSE
  1112.         IMPORT_CFM_FUNCTION    GetIntlResource
  1113.     ENDIF
  1114.  
  1115. ;
  1116. ; pascal void SetIntlResource(short refNum, short theID, Handle intlHandle)
  1117. ;
  1118.     IF ¬ GENERATINGCFM THEN
  1119.         Macro
  1120.         _SetIntlResource
  1121.             move.w    #$0008,-(sp)
  1122.             dc.w     $A9ED
  1123.         EndM
  1124.     ELSE
  1125.         IMPORT_CFM_FUNCTION    SetIntlResource
  1126.     ENDIF
  1127.  
  1128. ;
  1129. ; pascal void ClearIntlResourceCache(void)
  1130. ;
  1131.     IF ¬ GENERATINGCFM THEN
  1132.         Macro
  1133.         _ClearIntlResourceCache
  1134.             move.w    #$0018,-(sp)
  1135.             dc.w     $A9ED
  1136.         EndM
  1137.     ELSE
  1138.         IMPORT_CFM_FUNCTION    ClearIntlResourceCache
  1139.     ENDIF
  1140.  
  1141. ;
  1142. ; pascal void GetIntlResourceTable(ScriptCode script, short tableCode, Handle *itlHandle, long *offset, long *length)
  1143. ;
  1144.     IF ¬ GENERATINGCFM THEN
  1145.         Macro
  1146.         _GetIntlResourceTable
  1147.             move.w    #$0024,-(sp)
  1148.             dc.w     $A9ED
  1149.         EndM
  1150.     ELSE
  1151.         IMPORT_CFM_FUNCTION    GetIntlResourceTable
  1152.     ENDIF
  1153.  
  1154.     IF OLDROUTINENAMES  THEN
  1155.     ENDIF
  1156.     ENDIF ; __SCRIPT__
  1157.